JSON parse error - utf-8 codec can not decode byte 0xfc in position 71 invalid start byte
Hallo Kollegen,
ich lese eine XML Datei ein und lege dann via REST API PUT Regest mit einem JSON einen Datensatz an.
Die XML Dateien lese ich so ein:
Beim API Reqest:
bekomme ich dann die Fehlermeldung:
Das JSON sieht so aus:
und ja, ich weiß, dass das 'ü' das Problem ist.
Wie kann ich das korrigieren?
Bin jetzt schon über 1,5Tag dran und habe x Foren- und Blogeinträge gelesen und getestet.
Alles bisher negativ.
Wäre schön wenn mir jemand einen Hinweis geben könnte.
Grüße vom it-frosch
ich lese eine XML Datei ein und lege dann via REST API PUT Regest mit einem JSON einen Datensatz an.
Die XML Dateien lese ich so ein:
$xml = [xml](Get-Content .\datei.xml -Encoding utf8)
Beim API Reqest:
$Token = "XXXXXXXXXXXXXXXX"
$url = "https://api.site/"
$content = "application/json"
$method = "POST"
$Data = @{
"name"="$($d.NAME)"
"costCenter"="$($d.wert1)"
"legalEntity"="$($d.wert2)"
}
$JsonBody = $Data | ConvertTo-Json
# Fehlerprüfung
Write-Log -text "< - Die Fehlerbehandlung wird gestartet."
try {
$response2 = Invoke-RestMethod -Uri $url -Method $method -Headers @{"Authorization" = "Bearer $Token"} -ContentType $content -Body $JsonBody
}
bekomme ich dann die Fehlermeldung:
WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand - {"type":"clientError","errors":[{"code":"parseError","detail":"JSON parse error - 'utf-8' codec can't decode byte 0xfc in position 60: invalid start byte","attr":null}]} wurde abgefangen.
Das JSON sieht so aus:
{
"wert1": "111-1111111111",
"name": "111-1111111111-Süd - TEST - TEST",
"wert2": "2deeb8ee-d760-40c4-9248-f7088a58bf2e"
}
und ja, ich weiß, dass das 'ü' das Problem ist.
Wie kann ich das korrigieren?
Bin jetzt schon über 1,5Tag dran und habe x Foren- und Blogeinträge gelesen und getestet.
Alles bisher negativ.
Wäre schön wenn mir jemand einen Hinweis geben könnte.
Grüße vom it-frosch
Please also mark the comments that contributed to the solution of the article
Content-Key: 9918667320
Url: https://administrator.de/contentid/9918667320
Printed on: April 28, 2024 at 02:04 o'clock
2 Comments
Latest comment
Setz mal explizit den Content-Type mit charset im Header und lass den Parameter -ContentType weg.
Woher kommt $d?
Akzeptiert die uns unbekannte API denn überhaupt Umlaute in den Daten? => Doku dazu lesen.
Gruß pp
-Headers @{"Authorization" = "Bearer $Token"; "Content-Type" = "application/json; charset=UTF-8"}
Woher kommt $d?
Akzeptiert die uns unbekannte API denn überhaupt Umlaute in den Daten? => Doku dazu lesen.
Gruß pp